﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Common;

namespace DataAccess
{
    public class FaultRepository : ConnectionClass
    {
        public FaultRepository() : base() { }

        public void AddToFaults(Fault f)
        {
            entity.AddToFaults(f);
            entity.SaveChanges();
        }

        public IEnumerable<Fault> GetAllFaults()
        {
            return entity.Faults;
        }

        public IEnumerable<FaultStatu> GetAllFaultStatus()
        {
            return entity.FaultStatus;
        }

        public FaultStatu GetFaultStatus(int statusID)
        {
            return entity.FaultStatus.SingleOrDefault(f => f.ID == statusID);
        }

        public Fault GetFaultByID(int id)
        {
            return entity.Faults.SingleOrDefault(f => f.ID == id);
        }

        public IEnumerable<CategoryFault> GetCategoryFault()
        {
            return entity.CategoryFaults;
        }

        public void UpdateFault(Fault f)
        {
            Fault origin = GetFaultByID(f.ID);
            entity.Faults.Attach(origin);
            entity.Faults.ApplyCurrentValues(f);
            entity.SaveChanges();
        }
    }
}
